From cef6f34fb7585fc423ec999822d515d6da0e6d6f Mon Sep 17 00:00:00 2001 From: Stefano Facchini Date: Sat, 12 Jul 2014 14:59:59 +0200 Subject: [PATCH] inspector: Do not accidentally change tab in the object notebook The "hide-and-show" dance makes the notebook select the next tab. https://bugzilla.gnome.org/show_bug.cgi?id=733092 --- gtk/inspector/classes-list.c | 7 +++++-- gtk/inspector/size-groups.c | 24 +++++++++++++----------- gtk/inspector/style-prop-list.c | 12 ++++++++---- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/gtk/inspector/classes-list.c b/gtk/inspector/classes-list.c index 8bc17d9ebf..2d21265aae 100644 --- a/gtk/inspector/classes-list.c +++ b/gtk/inspector/classes-list.c @@ -235,7 +235,6 @@ cleanup_context (GtkInspectorClassesList *cl) gtk_list_store_clear (cl->priv->model); cl->priv->context = NULL; - gtk_widget_hide (GTK_WIDGET (cl)); } static void @@ -245,6 +244,7 @@ remove_dead_object (gpointer data, GObject *dead_object) cl->priv->context = NULL; cleanup_context (cl); + gtk_widget_hide (GTK_WIDGET (cl)); } void @@ -258,7 +258,10 @@ gtk_inspector_classes_list_set_object (GtkInspectorClassesList *cl, cleanup_context (cl); if (!GTK_IS_WIDGET (object)) - return; + { + gtk_widget_hide (GTK_WIDGET (cl)); + return; + } gtk_widget_show (GTK_WIDGET (cl)); diff --git a/gtk/inspector/size-groups.c b/gtk/inspector/size-groups.c index b6172f80c9..8cec937835 100644 --- a/gtk/inspector/size-groups.c +++ b/gtk/inspector/size-groups.c @@ -271,19 +271,21 @@ gtk_inspector_size_groups_set_object (GtkInspectorSizeGroups *sl, GObject *object) { clear_view (sl); - gtk_widget_hide (GTK_WIDGET (sl)); - if (GTK_IS_WIDGET (object)) + if (!GTK_IS_WIDGET (object)) { - GSList *groups, *l; - - gtk_widget_show (GTK_WIDGET (sl)); - groups = _gtk_widget_get_sizegroups (GTK_WIDGET (object)); - for (l = groups; l; l = l->next) - { - GtkSizeGroup *group = l->data; - add_size_group (sl, group); - } + gtk_widget_hide (GTK_WIDGET (sl)); + return; + } + + GSList *groups, *l; + + gtk_widget_show (GTK_WIDGET (sl)); + groups = _gtk_widget_get_sizegroups (GTK_WIDGET (object)); + for (l = groups; l; l = l->next) + { + GtkSizeGroup *group = l->data; + add_size_group (sl, group); } } diff --git a/gtk/inspector/style-prop-list.c b/gtk/inspector/style-prop-list.c index 9fed77b64d..4212e65bc7 100644 --- a/gtk/inspector/style-prop-list.c +++ b/gtk/inspector/style-prop-list.c @@ -308,10 +308,11 @@ void gtk_inspector_style_prop_list_set_object (GtkInspectorStylePropList *self, GObject *object) { - gtk_widget_hide (GTK_WIDGET (self)); - if (self->priv->widget == (GtkWidget *)object) - return; + { + gtk_widget_hide (GTK_WIDGET (self)); + return; + } if (self->priv->widget) { @@ -321,7 +322,10 @@ gtk_inspector_style_prop_list_set_object (GtkInspectorStylePropList *self, } if (!GTK_IS_WIDGET (object)) - return; + { + gtk_widget_hide (GTK_WIDGET (self)); + return; + } self->priv->widget = (GtkWidget *)object; g_object_weak_ref (G_OBJECT (self), disconnect_each_other, object); -- 2.30.2